package fachada;

import classes.entidade.AreaAuditada;
import classes.entidade.Auditoria;
import classes.entidade.Orgao;
import classes.entidade.TipoAuditoria;
import controlador.AreaAuditadaControl;
import controlador.AuditoriaControl;
import controlador.OrgaoControl;
import controlador.TipoAuditoriaControl;
import erro.ConexaoException;
import erro.ConsultaException;
import java.util.ArrayList;

/**
 *
 * @author roberta.m.carvalho
 */
public class Fachada {

    private AreaAuditadaControl area = null;
    private AuditoriaControl auditoria = null;
    private OrgaoControl orgao = null;
    private TipoAuditoriaControl tipo = null;

    public Fachada() {
        this.area = new AreaAuditadaControl();
        this.auditoria = new AuditoriaControl();
        this.orgao = new OrgaoControl();
        this.tipo = new TipoAuditoriaControl();
    }

    public void inserirArea(AreaAuditada aa) throws ConexaoException, ConsultaException {
        this.area.inserirAreaAuditada(aa);
    }

    public void inserirAuditoria(Auditoria a) throws ConexaoException, ConsultaException {
        this.auditoria.inserirAuditoria(a);
    }

    public void inserirOrgao(Orgao o) throws ConexaoException, ConsultaException {
        this.orgao.inserirOrgao(o);
    }

    public void inserirTipoAuditoria(TipoAuditoria ta) throws ConexaoException, ConsultaException {
        this.tipo.inserirTipoAuditoria(ta);
    }

    public ArrayList<AreaAuditada> listarArea() throws ConexaoException, ConsultaException {
        return (ArrayList<AreaAuditada>) this.area.listarArea();
    }

    public void alterarArea(AreaAuditada aa) throws ConexaoException, ConsultaException {
        this.area.alterarArea(aa);
    }

    public void deletarArea(AreaAuditada aa) throws ConexaoException, ConsultaException {
        this.area.deletarArea(aa);
    }

    public void alterarTipo(TipoAuditoria ta) throws ConexaoException, ConsultaException {
        this.tipo.alterarTipo(ta);
    }

    public ArrayList<TipoAuditoria> listarTipo() throws ConexaoException, ConsultaException {
        return (ArrayList<TipoAuditoria>) this.tipo.listarTipo();
    }

    public void deletarTipo(TipoAuditoria ta) throws ConexaoException, ConsultaException {
        this.tipo.deletarTipo(ta);
    }

    public void alterarOrgao(Orgao o) throws ConexaoException, ConsultaException {
        this.orgao.alterarOrgao(o);
    }

    public ArrayList<Orgao> listarOrgao() throws ConexaoException, ConsultaException {
        return (ArrayList<Orgao>) this.orgao.listarOrgao();
    }

    public void deletarOrgao(Orgao o) throws ConexaoException, ConsultaException {
        this.orgao.deletarOrgao(o);
    }
}
